#pragma once

#include "Player.h"
#include "Position.h"
#include "Square.h"

namespace Rorn
{
	namespace Chess
	{
		namespace TheCorruptRook
		{
			class MoveTreeNode
			{
			public:
				MoveTreeNode(const Position& position, Player::Type player);
				MoveTreeNode(const Position& startPosition, Player::Type player, int depth, const Square& startSquare, const Square& endSquare);
				~MoveTreeNode();

				void Evaluate(int maxDepth);
			private:
				Position position_;
				Player::Type player_;
				int depth_;
				Square startSquare_;
				Square endSquare_;
				std::vector<MoveTreeNode> moves_;
			};
		}
	}
}
